<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>ECF New and Noteworthy</title>
<link rel="stylesheet" href="http://www.eclipse.org/default_style.css" type="text/css">

</head>

<body bgcolor="#FFFFFF">
<table border=0 cellspacing=5 cellpadding=2 width="100%">
  <tbody>
    <tr>
      <td width="69%" class="bannertext">
        <font class="indextop style">eclipse communication framework</font>
        <br><br>
        <font class="indexsub">an eclipse technology subproject</font>
        <br><br>
        <font class="indextop style2">New and Noteworthy</font><br>0.9.6 Stable Release</font>
        <br><br><br>
        Return to <a href="downloads.php">ECF download page</a></br>
        Return to <a href="comm_resources.php">ECF communication resources page</a>
        <br><br>
        <a href="NewAndNoteworthy_0.4.0.html">New and Noteworthy for 0.4.0</a><br>
        <a href="NewAndNoteworthy_0.5.2.html">New and Noteworthy for 0.5.2</a><br>
        <a href="NewAndNoteworthy_0.5.4.html">New and Noteworthy for 0.5.4</a><br>
        <a href="NewAndNoteworthy_0.6.0.html">New and Noteworthy for 0.6.0</a><br>
        <a href="NewAndNoteworthy_0.6.2.html">New and Noteworthy for 0.6.2</a><br>
        <a href="NewAndNoteworthy_0.7.0.html">New and Noteworthy for 0.7.0</a><br>
        <a href="NewAndNoteworthy_0.7.5.html">New and Noteworthy for 0.7.5</a><br>
        <a href="NewAndNoteworthy_0.7.6.html">New and Noteworthy for 0.7.6</a><br>
        <a href="NewAndNoteworthy_0.8.0.html">New and Noteworthy for 0.8.0</a><br>
        <a href="NewAndNoteworthy_0.8.1.html">New and Noteworthy for 0.8.1</a><br>
        <a href="NewAndNoteworthy_0.8.2.html">New and Noteworthy for 0.8.2</a><br>
        <a href="NewAndNoteworthy_0.8.4.html">New and Noteworthy for 0.8.4</a><br>
        <a href="NewAndNoteworthy_0.8.5.html">New and Noteworthy for 0.8.5</a><br>
        <a href="NewAndNoteworthy_0.8.6.html">New and Noteworthy for 0.8.6</a><br>
        <a href="NewAndNoteworthy_0.8.7.html">New and Noteworthy for 0.8.7</a><br>
        <a href="NewAndNoteworthy_0.8.9.html">New and Noteworthy for 0.8.9</a><br>
        <a href="NewAndNoteworthy_0.9.0.html">New and Noteworthy for 0.9.0</a><br>
        <a href="NewAndNoteworthy_0.9.1.html">New and Noteworthy for 0.9.1</a><br>
        <a href="NewAndNoteworthy_0.9.2.html">New and Noteworthy for 0.9.2</a><br>
        <a href="NewAndNoteworthy_0.9.3.html">New and Noteworthy for 0.9.3</a><br>
        <a href="NewAndNoteworthy_0.9.4.html">New and Noteworthy for 0.9.4</a><br>
        <a href="NewAndNoteworthy_0.9.5.html">New and Noteworthy for 0.9.5</a><br>
      </td>
      <td width="31%">
        <div align="center">
          <img src="../images/Idea.jpg" width="120" height="86" hspace="50" align="middle">
        </div>
      </td>
    </tr>
  </tbody>
</table>

<hr>

<table>
  <TR><TD colSpan=2><H2>ECF UI Additions</H2></TD>

  <TR>
    <TD vAlign=top align=left width="30%">
    <p><br></p>
        <P align=left>
	<B>Able to open links in internal browser</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
      <p><br></p>
      For the IRC chat window, URLs now appear as underlined, and when clicked on will open the internal browser window for the given page.  
      Here's a screenshot:<p></p>
      <img src="images/screens/ircweblink.png">
      <p></p>
    </tr>

  </TR>
  
  <TR>
    <TD vAlign=top align=left width="30%">
    <p><br></p>
        <P align=left>
	<B>New Connect Wizards for IRC, XMPP providers</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
      <p><br></p>
      Using the <b>org.eclipse.ecf.ui.connectWizard</b> extension point, there are new connectWizards for IRC and XMPP providers.  The wizard classes may be
      found in the two (new) plugins:  <b>org.eclipse.ecf.provider.xmpp.ui</b> and <b>org.eclipse.ecf.provider.irc.ui</b>.
      <p></p>
    </tr>

  </TR>
  
    <TR>
    <TD vAlign=top align=left width="30%">
    <p><br></p>
        <P align=left>
	<B>Simplified RosterView class</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
      <p><br></p>
      Using the Presence API Refactoring described below, a simplified and extensible roster view class was created in the <b>org.eclipse.ecf.presence.ui</b>
      plugin:  MultiRosterView.  This view presents multiple rosters, using the MultiRosterContentProvider class present in the same package.  This 
      replacement roster view will be used to introduce other features into the roster user interface, and is also suitable for extension
      by subclasses or replacement.
      <p></p>
    </tr>

  </TR>
  
  <TR></TR>
  <TR><TD colSpan=2><H2>API Enhancements</H2></TD>

  <TR>
    <TD vAlign=top align=left width="30%">
    <p><br></p>
        <P align=left>
	<B>Presence API Refactoring to Support JFace Content Providers</B>
        </P>
    </TD>
    <TD vAlign=top width="70%">
      <p><br></p>
      The presence API (plugin: <b>org.eclipse.ecf.presence</b>) has been enhanced to support JFace viewers.  Specifically,
      the roster interface classes (IRosterManager, IRoster, IRosterEntry, IRosterGroup, IRosterItem) have been enhanced
      so that they can easily be used as the basis of an JFace ITreeContentProvider.  This allows the
      use and automatic update of a roster (buddy) list by an ECF provider that implements the presence API (e.g. the XMPP provider).  For example, here is code in the new plugin 
      <b>org.eclipse.ecf.presence.ui</b> that creates a tree viewer to display multiple rosters:
      <pre>
      	protected void setupTreeViewer(Composite parent) {
		    treeViewer = new TreeViewer(parent, SWT.BORDER | SWT.MULTI
				| SWT.V_SCROLL);
		    getSite().setSelectionProvider(treeViewer);
		    multiRosterContentProvider = new MultiRosterContentProvider();
		    multiRosterLabelProvider = new MultiRosterLabelProvider();
		    treeViewer.setLabelProvider(multiRosterLabelProvider);
		    treeViewer.setContentProvider(multiRosterContentProvider);
		    treeViewer.setInput(new Object());
	    }
      </pre>
      With this approach, the UI/viewer code does not need to know anything about the messaging to change/update the roster
      model.  This model is managed by the ECF provider (XMPP) and when 
      The MultiRosterContentProvider class (and others to support this new approach) are available
      in the (new) plugin:  <b>org.eclipse.ecf.presence.ui</b>.  See the classes in the <a href="http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/org/eclipse/ecf/presence/ui/package-summary.html">org.eclipse.ecf.presence.ui package</a>
      for example usage and reusable base classes.
      
      <p></p>
    </tr>

</table>

</body>
</<bhtml>